package com.example.designPatten.command.undo;

public class RemoteLoaderTest {
 
	public static void main(String[] args) {
		RemoteControlWithUndo remoteControl = new RemoteControlWithUndo();
 
//		Light livingRoomLight = new Light("Living Room");
// 
//		LightOnCommand livingRoomLightOn = 		new LightOnCommand(livingRoomLight);
//		LightOffCommand livingRoomLightOff = 	new LightOffCommand(livingRoomLight);
// 
//		remoteControl.setCommand(0, livingRoomLightOn, livingRoomLightOff);
// 
//		remoteControl.onButtonWasPushed(0);
//		remoteControl.offButtonWasPushed(0); //设置当前cmd对象
//		System.out.println(remoteControl);
//		remoteControl.undoButtonWasPushed();
//		System.out.println("---------------------------------0");
//		
//		remoteControl.offButtonWasPushed(0);
//		remoteControl.onButtonWasPushed(0);
//		System.out.println(remoteControl);
//		remoteControl.undoButtonWasPushed();
//		System.out.println("---------------------------------1");


		CeilingFan ceilingFan = new CeilingFan("Living Room");
		CeilingFanMediumCommand ceilingFanMedium = 		new CeilingFanMediumCommand(ceilingFan);
		CeilingFanHighCommand ceilingFanHigh = 		new CeilingFanHighCommand(ceilingFan);
		CeilingFanOffCommand ceilingFanOff = 		new CeilingFanOffCommand(ceilingFan);
  
		remoteControl.setCommand(0, ceilingFanMedium, ceilingFanOff); //on 0
   
		remoteControl.onButtonWasPushed(0); //中
		remoteControl.offButtonWasPushed(0); //off
		System.out.println(remoteControl);
		remoteControl.undoButtonWasPushed(); //undo 撤销回 中速
		System.out.println("--------------------------------------------------------2");
		
		remoteControl.setCommand(1, ceilingFanHigh, ceilingFanOff);
		remoteControl.onButtonWasPushed(1); //上次undo，速度为2
		remoteControl.offButtonWasPushed(1);

		System.out.println(remoteControl);
		remoteControl.undoButtonWasPushed();
	}
}
